ForOpenCL: transformations exploiting array syntax in Fortran for accelerator programming
نویسندگان
چکیده
Emerging GPU architectures for high performance computing are well suited to a data-parallel programming model. This paper presents preliminary work examining a programming methodology that provides Fortran programmers with access to these emerging systems. We use array constructs in Fortran to show how this infrequently exploited, standardized language feature is easily transformed to lower-level accelerator code. The transformations in ForOpenCL are based on a simple mapping from Fortran to OpenCL. We demonstrate, using a stencil code solving the shallow-water fluid equations, that the performance of the ForOpenCL compiler-generated transformations is comparable with that of hand-optimized OpenCL code.
منابع مشابه
Co-Array Collectives: Refined Semantics for Co-Array Fortran
Co-array notation provides a compact syntax for programming parallel programs. Co-array Fortran (CAF) introduced and implements this notation, and CAF is currently proposed as an extension to the Fortran language standard. We believe that co-array notation requires a revised semantic definition beyond that specified by CAF for both pragmatic reasons within Fortran and to make the notation attra...
متن کاملScalarizing Fortran 90 Array Syntax
Array syntax, existed in many languages, adds expressive power by allowing operations on and assignments to the array sections. When compiling to a uniprocessor machine, the array statement must be converted into a loop that maintains the correct semantics, by a process called scalarization. Scalarization presents a significant technical problem because an array assignment needs to be implement...
متن کاملHybrid Coarrays: a PGAS Feature for Many-Core Architectures
Accelerators such as NVIDIA GPUs and Intel MICs are currently provided as co-processor devices, usable only through a CPU host. For Intel MICs it is planned that this constraint will be lifted in the near future: CPU and accelerator(s) will then form a single, many-core, processor capable of peak performance of several Teraflops with high energy efficiency. In order to exploit the available com...
متن کاملADAPTing Fortran 90 Array Programs for Distributed Memory Architectures
We describe a system that we are developing, whose purpose is to automatically transform data parallel Fortran 90 programs for execution on MIMD distributed memory architectures. The system is called ADAPT (for`Array Distribution Automatic Parallelisation Tool'). Programs for the system should make full use of the array features of Fortran 90, as parallelism is automatically extracted from the ...
متن کاملObject-oriented Scientific Programming with Fortran 90
Fortran 90 is a modern language that introduces many important new features beneficial for scientific programming. While the array-syntax notation has received the most attention, we have found that many modern softaware development techniques can be supported by this language, including object-oriented concepts. While Fortran 90 is not a full object-oriented language it can directly support ma...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IJCSE
دوره 8 شماره
صفحات -
تاریخ انتشار 2013